<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of persistenciaFuncionario
 *
 * @author Agustin
 */
class ControladoraFuncionario {

    private static $instance = false;

    public static function getInstance() {
        if (!self::$instance instanceof self) {
            self::$instance = new self;
        }
        return self::$instance;
    }

    public function crearFuncionario($datos) {
        require_once 'Modelo/persistenciaFuncionario.php';
        try {
            if (count(PersistenciaFuncionario::getInstance()->traerFuncionarios($datos[0])) == 0) {
                PersistenciaFuncionario::getInstance()->crearFuncionario($datos);
                return 'Agregado con éxito';
            } else {
                return 'Ya existe ese funcionario';
            }
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function traerFuncionarios($ci) {
        require_once '../Modelo/persistenciaFuncionario.php';
        try {
            $aux = PersistenciaFuncionario::getInstance()->traerFuncionarios($ci);
            return $aux;
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function actualizarFuncionario($datos) {
        require_once 'Modelo/persistenciaFuncionario.php';
        try {
            $aux = PersistenciaFuncionario::getInstance()->actualizarFuncionario($datos);
            return $aux;
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function eliminarFuncionario($ci) {
        require_once 'Modelo/persistenciaFuncionario.php';
        try {
            $aux = PersistenciaFuncionario::getInstance()->eliminarFuncionario($ci);
            return $aux;
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function agregarTelAFunc($datos) {
        require_once 'Modelo/persistenciaTelefono.php';
        try {
            $pTel = PersistenciaTelefono::getInstance();
            $idtel = $pTel->crearTelefono($datos[1]);
            $datostel = Array($datos[0], $idtel);
            $pTel->crearTelefonoFuncionario($datostel);
            return 'Agregado con Éxito';
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function eliminarTelAFunc($idtel) {
        require_once 'Modelo/persistenciaTelefono.php';
        try {
            PersistenciaTelefono::getInstance()->eliminarTelefonoFuncionario($idtel);
            return 'Eliminado con éxito';
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

}

?>
